package dto

// -------------- 认证相关请求参数 --------------

// LoginRequest 登录请求参数
type LoginRequest struct {
	Username string `form:"username" json:"username" binding:"required"`       // 登录用户名（必填）
	Password string `form:"password" json:"password" binding:"required,min=6"` // 登录密码（必填，至少6位）
}

// RegisterRequest 注册请求参数
type RegisterRequest struct {
	Username string `form:"username" json:"username" binding:"required"`       // 注册用户名（必填）
	Password string `form:"password" json:"password" binding:"required,min=6"` // 注册密码（必填，至少6位）
}

// -------------- 认证与用户响应 --------------
// LoginResponse 登录响应结果
type LoginResponse struct {
	Token     string `json:"token"`      // 访问令牌
	TokenType string `json:"token_type"` // 令牌类型（固定为Bearer）
	ExpiresIn int    `json:"expires_in"` // 令牌过期时间（单位：秒）
	UserID    int64  `json:"user_id"`    // 用户ID
	Username  string `json:"username"`   // 用户名
	Role      string `json:"role"`       // 用户角色
}

// 定义用户信息的DTO结构体
type RegisterResponse struct {
	ID        int32  `json:"id"`         // 对应id字段
	Username  string `json:"username"`   // 对应username字段
	Role      string `json:"role"`       // 对应role字段
	CreatedAt string `json:"created_at"` // 对应created_at字段
}
